/*
input gender:m
inpute age:20
inpute score:100.09
m 20 100.1
input a b:2234599
a=22 b=99
input chars:a 0
97-32-48
比如使用scanf时输入的回车键，如果在后续scanf里有读取char型数据，那么该回车键会被识别成是下一个scanf的输入。解决办法有：
      1. 用getchar()清除
      2. 用格式串中的空格或“%*c”来吃掉。scanf(" %c",char);或者 scanf("%*c",char);
注意scanf：
1. 每一条scanf语句都是从缓存区里读取数据，%c会将空格或回车认为是输入字符，但是%d不会这么认为。%d这些只会识别非空格回车这些字符。
2. 当读取的不是所需的参数类型时，这条语句也就执行完了，效果就是参数没读进变量里，返回值为0.读取成功返回值才是1。
*/
#include<stdio.h>
int main(){
	
	
	char gender;
	int age;
	float score;
	printf("input gender:");
	scanf("%c",&gender);
	printf("inpute age:");
	scanf("%d",&age);
	printf("inpute score:");
	scanf("%f",&score);

	printf("%c %d %.1f\n",gender,age,score);

	printf("input a b:");
	int a = 0,b = 0;
	scanf("%2d%*3d%2d",&a,&b);
	printf("a=%d b=%d\n",a,b);

	char x, y, z;
	printf("input chars:");
	scanf(" %c%c%c",&x,&y,&z);
	printf("%d-%d-%d\n",x,y,z);
}
